home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / ownrdclb / declares.bas < prev    next >
BASIC Source File  |  1998-06-27  |  20KB  |  530 lines

  1. Attribute VB_Name = "mDeclares"
  2. Option Explicit
  3.  
  4. ' Owner draw Combo Box stuff:
  5.  
  6. ' Type to hold information about combo items:
  7. Type ICONLISTBOXITEMINFO
  8.     lItemData As Long           ' Provide item data - normal item data is used to store a pointer to a structure of this type
  9.     lExtraData As Long          ' An additional item data
  10.     lIconIndex As Long          ' Index of icon in icon list, if required
  11.     lIndentSize As Long         ' How far the text should be indented from left, in pixels
  12.     lItemHeight As Long         ' How high a single item should be
  13.     lForeColour As OLE_COLOR    ' Fore colour of the item
  14.     lBackColour As OLE_COLOR    ' Back colour of the item
  15.     bUnderLineItem As Boolean   ' Whether a ruling should be placed below the item
  16.     bOverLineItem As Boolean    ' Whether a ruling should be placed above the item
  17.     dFontSize As Single         ' VB font size, stored here for ease of extracting a font object
  18.     tLF As LOGFONT              ' API font description.  lfFaceName should have all bytes = 0 to use default
  19.     lTextAlignX As Long         ' Horizonal Text alignment
  20.     lTextAlignY As Long         ' Vertical Text alignment
  21. End Type
  22.  
  23. ' Windows API stuff
  24.  
  25. ' Owner draw item measure:
  26. Type MEASUREITEMSTRUCT
  27.     CtlType As Long
  28.     CtlID As Long
  29.     ItemId As Long
  30.     itemWidth As Long
  31.     itemHeight As Long
  32.     itemData As Long
  33. End Type
  34.  
  35. ' Owner draw item draw:
  36. Type DRAWITEMSTRUCT
  37.     CtlType As Long
  38.     CtlID As Long
  39.     ItemId As Long
  40.     ItemAction As Long
  41.     ItemState As Long
  42.     hwndItem As Long
  43.     hdc As Long
  44.     rcItem As RECT
  45.     itemData As Long
  46. End Type
  47.  
  48. ' Memory functions:
  49. Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
  50.     lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)
  51. Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
  52. Declare Function GlobalFree Lib "kernel32" (ByVal hMem As Long) As Long
  53. Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
  54. Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
  55. ' Memory allocation/manipulation constants:
  56. Public Const GMEM_DISCARDABLE = &H100
  57. Public Const GMEM_FIXED = &H0
  58. Public Const GMEM_INVALID_HANDLE = &H8000
  59. Public Const GMEM_MODIFY = &H80
  60. Public Const GMEM_MOVEABLE = &H2
  61. Public Const GMEM_NOCOMPACT = &H10
  62. Public Const GMEM_NODISCARD = &H20
  63. Public Const GMEM_NOT_BANKED = &H1000
  64. Public Const GMEM_NOTIFY = &H4000
  65. Public Const GMEM_SHARE = &H2000
  66. Public Const GMEM_VALID_FLAGS = &H7F72
  67. Public Const GMEM_ZEROINIT = &H40
  68. Public Const GPTR = (GMEM_FIXED Or GMEM_ZEROINIT)
  69.  
  70. ' Window style bit functions:
  71. Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
  72.     (ByVal hwnd As Long, ByVal nIndex As Long, _
  73.     ByVal dwNewLong As Long _
  74.     ) As Long
  75. Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
  76.     (ByVal hwnd As Long, ByVal nIndex As Long _
  77.     ) As Long
  78. ' Window Long indexes:
  79. Public Const GWL_EXSTYLE = (-20)
  80. Public Const GWL_HINSTANCE = (-6)
  81. Public Const GWL_HWNDPARENT = (-8)
  82. Public Const GWL_ID = (-12)
  83. Public Const GWL_STYLE = (-16)
  84. Public Const GWL_USERDATA = (-21)
  85. Public Const GWL_WNDPROC = (-4)
  86.  
  87. ' Creating new windows:
  88. Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
  89. ' General window styles:
  90. Public Const WS_BORDER = &H800000
  91. Public Const WS_CAPTION = &HC00000                  '  WS_BORDER Or WS_DLGFRAME
  92. Public Const WS_CHILD = &H40000000
  93. Public Const WS_CHILDWINDOW = (WS_CHILD)
  94. Public Const WS_CLIPCHILDREN = &H2000000
  95. Public Const WS_CLIPSIBLINGS = &H4000000
  96. Public Const WS_DISABLED = &H8000000
  97. Public Const WS_DLGFRAME = &H400000
  98. Public Const WS_EX_ACCEPTFILES = &H10&
  99. Public Const WS_EX_DLGMODALFRAME = &H1&
  100. Public Const WS_EX_NOPARENTNOTIFY = &H4&
  101. Public Const WS_EX_TOPMOST = &H8&
  102. Public Const WS_EX_TRANSPARENT = &H20&
  103. Public Const WS_GROUP = &H20000
  104. Public Const WS_HSCROLL = &H100000
  105. Public Const WS_MAXIMIZE = &H1000000
  106. Public Const WS_MAXIMIZEBOX = &H10000
  107. Public Const WS_MINIMIZE = &H20000000
  108. Public Const WS_ICONIC = WS_MINIMIZE
  109. Public Const WS_MINIMIZEBOX = &H20000
  110. Public Const WS_OVERLAPPED = &H0&
  111. Public Const WS_POPUP = &H80000000
  112. Public Const WS_SYSMENU = &H80000
  113. Public Const WS_TABSTOP = &H10000
  114. Public Const WS_THICKFRAME = &H40000
  115. Public Const WS_SIZEBOX = WS_THICKFRAME
  116. Public Const WS_TILED = WS_OVERLAPPED
  117. Public Const WS_VISIBLE = &H10000000
  118. Public Const WS_VSCROLL = &H200000
  119. Public Const WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED Or WS_CAPTION Or WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX)
  120. Public Const WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW
  121. Public Const WS_POPUPWINDOW = (WS_POPUP Or WS_BORDER Or WS_SYSMENU)
  122. ' extended Style:
  123. Public Const WS_EX_CLIENTEDGE = &H200&
  124. Public Const WS_EX_STATICEDGE = &H20000
  125.  
  126. ' Combo box window styles
  127. Public Const CBS_AUTOHSCROLL = &H40&
  128. Public Const CBS_DISABLENOSCROLL = &H800&
  129. Public Const CBS_DROPDOWN = &H2&
  130. Public Const CBS_DROPDOWNLIST = &H3&
  131. Public Const CBS_HASSTRINGS = &H200&
  132. Public Const CBS_NOINTEGRALHEIGHT = &H400&
  133. Public Const CBS_OEMCONVERT = &H80&
  134. Public Const CBS_OWNERDRAWFIXED = &H10&
  135. Public Const CBS_OWNERDRAWVARIABLE = &H20&
  136. Public Const CBS_SIMPLE = &H1&
  137. Public Const CBS_SORT = &H100&
  138. ' List box styles:
  139. Public Const LBS_DISABLENOSCROLL = &H1000&
  140. Public Const LBS_EXTENDEDSEL = &H800&
  141. Public Const LBS_HASSTRINGS = &H40&
  142. Public Const LBS_MULTICOLUMN = &H200&
  143. Public Const LBS_MULTIPLESEL = &H8&
  144. Public Const LBS_NODATA = &H2000&
  145. Public Const LBS_NOINTEGRALHEIGHT = &H100&
  146. Public Const LBS_NOREDRAW = &H4&
  147. Public Const LBS_NOTIFY = &H1&
  148. Public Const LBS_OWNERDRAWFIXED = &H10&
  149. Public Const LBS_OWNERDRAWVARIABLE = &H20&
  150. Public Const LBS_SORT = &H2&
  151. Public Const LBS_USETABSTOPS = &H80&
  152. Public Const LBS_WANTKEYBOARDINPUT = &H400&
  153.  
  154. ' Window appearance control:
  155. Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
  156. ' Show window styles
  157. Public Const SW_SHOWNORMAL = 1
  158. Public Const SW_ERASE = &H4
  159. Public Const SW_HIDE = 0
  160. Public Const SW_INVALIDATE = &H2
  161. Public Const SW_MAX = 10
  162. Public Const SW_MAXIMIZE = 3
  163. Public Const SW_MINIMIZE = 6
  164. Public Const SW_NORMAL = 1
  165. Public Const SW_OTHERUNZOOM = 4
  166. Public Const SW_OTHERZOOM = 2
  167. Public Const SW_PARENTCLOSING = 1
  168. Public Const SW_RESTORE = 9
  169. Public Const SW_PARENTOPENING = 3
  170. Public Const SW_SHOW = 5
  171. Public Const SW_SCROLLCHILDREN = &H1
  172. Public Const SW_SHOWDEFAULT = 10
  173. Public Const SW_SHOWMAXIMIZED = 3
  174. Public Const SW_SHOWMINIMIZED = 2
  175. Public Const SW_SHOWMINNOACTIVE = 7
  176. Public Const SW_SHOWNA = 8
  177. Public Const SW_SHOWNOACTIVATE = 4
  178. Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  179. Public Const SWP_SHOWWINDOW = &H40
  180. Public Const SWP_HIDEWINDOW = &H80
  181. Public Const SWP_FRAMECHANGED = &H20        '  The frame changed: send WM_NCCALCSIZE
  182. Public Const SWP_NOACTIVATE = &H10
  183. Public Const SWP_NOCOPYBITS = &H100
  184. Public Const SWP_NOMOVE = &H2
  185. Public Const SWP_NOOWNERZORDER = &H200      '  Don't do owner Z ordering
  186. Public Const SWP_NOREDRAW = &H8
  187. Public Const SWP_NOREPOSITION = SWP_NOOWNERZORDER
  188. Public Const SWP_NOSIZE = &H1
  189. Public Const SWP_NOZORDER = &H4
  190. Public Const SWP_DRAWFRAME = SWP_FRAMECHANGED
  191. Public Const HWND_NOTOPMOST = -2
  192.  
  193. Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long
  194. Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long
  195. Declare Function SetFocusAPI Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long
  196. Declare Function GetFocus Lib "user32" () As Long
  197. Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As L